#define  _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;

//int main()
//{
//    int res_Num = 0;
//    int count = 2;
//    vector<int>out;
//    cin >> res_Num;
//    while (res_Num > 1)
//    {
//        if (count > sqrt(res_Num))
//        {
//            cout << res_Num;
//            break;
//        }
//        if (res_Num % count == 0)
//        {
//            cout << count << "  ";
//            res_Num /= count;
//            count = 2;
//        }
//        else
//        {
//            count++;
//        }
//    }
//    return 0;
//}

//int main()
//{
//	cout << sqrt(4);
//	return 0;
//}

//#include <iostream>
//#include<string>
//using namespace std;
//
//int main()
//{
//    string out;
//    string put;
//    getline(cin, out);
//    size_t pos = out.rfind(' ');
//    size_t old_pos = pos;
//    put += out.substr(pos - 1);
//    put += ' ';
//    while (pos != string::npos)
//    {
//        put += out.substr(pos-1, );
//        put += ' ';
//        pos = out.rfind(' ',old_pos + 1);
//        old_pos = pos;
//    }
//    cout << put;
//    return 0;
//}

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;

int main()
{
    string out;
    getline(cin, out);
    size_t pos = out.rfind(' ');
    while (pos != string::npos)
    {
        cout out.substr(pos - 1);
        out.erase(2);
        put += cur;
        put += ' ';
        pos = out.rfind(' ');
    }
    cout << put;
    return 0;
}

#include <iostream>
#include<algorithm>
#include<string>
using namespace std;

int main()
{
    string out;
    getline(cin, out);
    int end = out.size() - 1;
    int start = 0;
    for (int i = out.size() - 1; i >= 0; i--)
    {
        if (out[i] == ' ')
        {
            start = i;
            cout << out.substr(i + 1, end - start) << ' ';
            end = i - 1;
        }
    }
    cout << out.substr(0, out.find(' '));
    return 0;
}





